package com.jinduplan.planmanager.bean;

import java.io.Serializable;
import java.util.List;
import java.util.Objects;


public class NewProjectUploadDetailBean implements Serializable {

    /**
     * project_no : 111
     * project_name : 水上公园
     * project_addr : 1
     * labour : [{"full_name":"徐颖","labour_id":38,"sex":1}]
     * building : [{"building_name":"20#","id":181,"facade":[{"facade_name":"北","id":471,"building_id":181,"hanging_blue":[{"hanging_blue_name":"A","id":908,"building_id":181,"facade_id":471,"workmanship":[{"workmanship_name":"黄色仿石漆","id":1505,"building_id":181,"facade_id":471,"hanging_blue_id":908,"construction":[{"construction_process":"腻子","usage_amount":"1.50","total_area":"526.53","uncompleted_area":"526.53","mix_daily_completion":"80.00","cost_per":"4.50","construction_times":1,"id":1675,"building_id":181,"facade_id":471,"hanging_blue_id":908,"workmanship_id":1505}]}]}]}]}]
     */

    private String project_no;
    private String project_name;
    private String project_addr;
    private List<LabourBean> labour;
    private List<BuildingBean> building;

    public String getProject_no() {
        return project_no;
    }

    public void setProject_no(String project_no) {
        this.project_no = project_no;
    }

    public String getProject_name() {
        return project_name;
    }

    public void setProject_name(String project_name) {
        this.project_name = project_name;
    }

    public String getProject_addr() {
        return project_addr;
    }

    public void setProject_addr(String project_addr) {
        this.project_addr = project_addr;
    }

    public List<LabourBean> getLabour() {
        return labour;
    }

    public void setLabour(List<LabourBean> labour) {
        this.labour = labour;
    }

    public List<BuildingBean> getBuilding() {
        return building;
    }

    public void setBuilding(List<BuildingBean> building) {
        this.building = building;
    }

    public static class LabourBean implements Serializable {
        /**
         * full_name : 徐颖
         * labour_id : 38
         * sex : 1
         */

        private String full_name;
        private int labour_id;
        private int sex;
        private boolean isSelect = false;

        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (!(o instanceof LabourBean)) return false;
            LabourBean that = (LabourBean) o;
            return labour_id == that.labour_id && sex == that.sex && isSelect == that.isSelect && Objects.equals(full_name, that.full_name);
        }

        @Override
        public int hashCode() {
            return Objects.hash(full_name, labour_id, sex, isSelect);
        }

        public boolean isSelect() {
            return isSelect;
        }

        public void setSelect(boolean select) {
            isSelect = select;
        }

        public String getFull_name() {
            return full_name;
        }

        public void setFull_name(String full_name) {
            this.full_name = full_name;
        }

        public int getLabour_id() {
            return labour_id;
        }

        public void setLabour_id(int labour_id) {
            this.labour_id = labour_id;
        }

        public int getSex() {
            return sex;
        }

        public void setSex(int sex) {
            this.sex = sex;
        }
    }


    public static class BuildingBean implements Serializable {
        /**
         * building_name : 20#
         * id : 181
         * facade : [{"facade_name":"北","id":471,"building_id":181,"hanging_blue":[{"hanging_blue_name":"A","id":908,"building_id":181,"facade_id":471,"workmanship":[{"workmanship_name":"黄色仿石漆","id":1505,"building_id":181,"facade_id":471,"hanging_blue_id":908,"construction":[{"construction_process":"腻子","usage_amount":"1.50","total_area":"526.53","uncompleted_area":"526.53","mix_daily_completion":"80.00","cost_per":"4.50","construction_times":1,"id":1675,"building_id":181,"facade_id":471,"hanging_blue_id":908,"workmanship_id":1505}]}]}]}]
         */

        private String building_name;
        private int id;
        private List<FacadeBean> facade;
        private boolean isSelect = false;

        public boolean isSelect() {
            return isSelect;
        }

        public void setSelect(boolean select) {
            isSelect = select;
        }

        public String getBuilding_name() {
            return building_name;
        }

        public void setBuilding_name(String building_name) {
            this.building_name = building_name;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public List<FacadeBean> getFacade() {
            return facade;
        }

        public void setFacade(List<FacadeBean> facade) {
            this.facade = facade;
        }

        public static class FacadeBean implements Serializable {
            /**
             * facade_name : 北
             * id : 471
             * building_id : 181
             * hanging_blue : [{"hanging_blue_name":"A","id":908,"building_id":181,"facade_id":471,"workmanship":[{"workmanship_name":"黄色仿石漆","id":1505,"building_id":181,"facade_id":471,"hanging_blue_id":908,"construction":[{"construction_process":"腻子","usage_amount":"1.50","total_area":"526.53","uncompleted_area":"526.53","mix_daily_completion":"80.00","cost_per":"4.50","construction_times":1,"id":1675,"building_id":181,"facade_id":471,"hanging_blue_id":908,"workmanship_id":1505}]}]}]
             */

            private String facade_name;
            private int id;
            private int building_id;
            private List<HangingBlueBean> hanging_blue;
            private boolean isSelect = false;

            public boolean isSelect() {
                return isSelect;
            }

            public void setSelect(boolean select) {
                isSelect = select;
            }

            public String getFacade_name() {
                return facade_name;
            }

            public void setFacade_name(String facade_name) {
                this.facade_name = facade_name;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public int getBuilding_id() {
                return building_id;
            }

            public void setBuilding_id(int building_id) {
                this.building_id = building_id;
            }

            public List<HangingBlueBean> getHanging_blue() {
                return hanging_blue;
            }

            public void setHanging_blue(List<HangingBlueBean> hanging_blue) {
                this.hanging_blue = hanging_blue;
            }

            public static class HangingBlueBean implements Serializable {
                /**
                 * hanging_blue_name : A
                 * id : 908
                 * building_id : 181
                 * facade_id : 471
                 * workmanship : [{"workmanship_name":"黄色仿石漆","id":1505,"building_id":181,"facade_id":471,"hanging_blue_id":908,"construction":[{"construction_process":"腻子","usage_amount":"1.50","total_area":"526.53","uncompleted_area":"526.53","mix_daily_completion":"80.00","cost_per":"4.50","construction_times":1,"id":1675,"building_id":181,"facade_id":471,"hanging_blue_id":908,"workmanship_id":1505}]}]
                 */

                private String hanging_blue_name;
                private int id;
                private int building_id;
                private int facade_id;
                private List<WorkmanshipBean> workmanship;
                private boolean isSelect = false;

                public boolean isSelect() {
                    return isSelect;
                }

                public void setSelect(boolean select) {
                    isSelect = select;
                }

                public String getHanging_blue_name() {
                    return hanging_blue_name;
                }

                public void setHanging_blue_name(String hanging_blue_name) {
                    this.hanging_blue_name = hanging_blue_name;
                }

                public int getId() {
                    return id;
                }

                public void setId(int id) {
                    this.id = id;
                }

                public int getBuilding_id() {
                    return building_id;
                }

                public void setBuilding_id(int building_id) {
                    this.building_id = building_id;
                }

                public int getFacade_id() {
                    return facade_id;
                }

                public void setFacade_id(int facade_id) {
                    this.facade_id = facade_id;
                }

                public List<WorkmanshipBean> getWorkmanship() {
                    return workmanship;
                }

                public void setWorkmanship(List<WorkmanshipBean> workmanship) {
                    this.workmanship = workmanship;
                }

                public static class WorkmanshipBean implements Serializable {
                    /**
                     * workmanship_name : 黄色仿石漆
                     * id : 1505
                     * building_id : 181
                     * facade_id : 471
                     * hanging_blue_id : 908
                     * construction : [{"construction_process":"腻子","usage_amount":"1.50","total_area":"526.53","uncompleted_area":"526.53","mix_daily_completion":"80.00","cost_per":"4.50","construction_times":1,"id":1675,"building_id":181,"facade_id":471,"hanging_blue_id":908,"workmanship_id":1505}]
                     */

                    private String workmanship_name;
                    private int id;
                    private int building_id;
                    private int facade_id;
                    private int hanging_blue_id;
                    private List<ConstructionBean> construction;

                    @Override
                    public boolean equals(Object o) {
                        if (this == o) return true;
                        if (!(o instanceof WorkmanshipBean)) return false;
                        WorkmanshipBean that = (WorkmanshipBean) o;
                        return id == that.id && building_id == that.building_id && facade_id == that.facade_id && hanging_blue_id == that.hanging_blue_id && Objects.equals(workmanship_name, that.workmanship_name) && Objects.equals(construction, that.construction);
                    }

                    @Override
                    public int hashCode() {
                        return Objects.hash(workmanship_name, id, building_id, facade_id, hanging_blue_id, construction);
                    }

                    public String getWorkmanship_name() {
                        return workmanship_name;
                    }

                    public void setWorkmanship_name(String workmanship_name) {
                        this.workmanship_name = workmanship_name;
                    }

                    public int getId() {
                        return id;
                    }

                    public void setId(int id) {
                        this.id = id;
                    }

                    public int getBuilding_id() {
                        return building_id;
                    }

                    public void setBuilding_id(int building_id) {
                        this.building_id = building_id;
                    }

                    public int getFacade_id() {
                        return facade_id;
                    }

                    public void setFacade_id(int facade_id) {
                        this.facade_id = facade_id;
                    }

                    public int getHanging_blue_id() {
                        return hanging_blue_id;
                    }

                    public void setHanging_blue_id(int hanging_blue_id) {
                        this.hanging_blue_id = hanging_blue_id;
                    }

                    public List<ConstructionBean> getConstruction() {
                        return construction;
                    }

                    public void setConstruction(List<ConstructionBean> construction) {
                        this.construction = construction;
                    }

                    public static class ConstructionBean implements Serializable {
                        /**
                         * construction_process : 腻子
                         * usage_amount : 1.50
                         * total_area : 526.53
                         * uncompleted_area : 526.53
                         * mix_daily_completion : 80.00
                         * cost_per : 4.50
                         * construction_times : 1
                         * id : 1675
                         * building_id : 181
                         * facade_id : 471
                         * hanging_blue_id : 908
                         * workmanship_id : 1505
                         */

                        private String construction_process;
                        private float usage_amount;
                        private float total_area;
                        private float uncompleted_area;
                        private float mix_daily_completion;
                        private float cost_per;
                        private int construction_times;
                        private int id;
                        private int building_id;
                        private int facade_id;
                        private int hanging_blue_id;
                        private int workmanship_id;
                        private boolean isThan = false;
                        private String editTextStr = "";

                        @Override
                        public boolean equals(Object o) {
                            if (this == o) return true;
                            if (!(o instanceof ConstructionBean)) return false;
                            ConstructionBean that = (ConstructionBean) o;
                            return Float.compare(that.usage_amount, usage_amount) == 0 && Float.compare(that.total_area, total_area) == 0 && Float.compare(that.uncompleted_area, uncompleted_area) == 0 && Float.compare(that.mix_daily_completion, mix_daily_completion) == 0 && Float.compare(that.cost_per, cost_per) == 0 && construction_times == that.construction_times && id == that.id && building_id == that.building_id && facade_id == that.facade_id && hanging_blue_id == that.hanging_blue_id && workmanship_id == that.workmanship_id && isThan == that.isThan && Objects.equals(construction_process, that.construction_process) && Objects.equals(editTextStr, that.editTextStr);
                        }

                        @Override
                        public int hashCode() {
                            return Objects.hash(construction_process, usage_amount, total_area, uncompleted_area, mix_daily_completion, cost_per, construction_times, id, building_id, facade_id, hanging_blue_id, workmanship_id, isThan, editTextStr);
                        }

                        public boolean isThan() {
                            return isThan;
                        }

                        public void setThan(boolean than) {
                            isThan = than;
                        }

                        public String getEditTextStr() {
                            return editTextStr;
                        }

                        public void setEditTextStr(String editTextStr) {
                            this.editTextStr = editTextStr;
                        }

                        public String getConstruction_process() {
                            return construction_process;
                        }

                        public void setConstruction_process(String construction_process) {
                            this.construction_process = construction_process;
                        }

                        public float getUsage_amount() {
                            return usage_amount;
                        }

                        public void setUsage_amount(float usage_amount) {
                            this.usage_amount = usage_amount;
                        }

                        public float getTotal_area() {
                            return total_area;
                        }

                        public void setTotal_area(float total_area) {
                            this.total_area = total_area;
                        }

                        public float getUncompleted_area() {
                            return uncompleted_area;
                        }

                        public void setUncompleted_area(float uncompleted_area) {
                            this.uncompleted_area = uncompleted_area;
                        }

                        public float getMix_daily_completion() {
                            return mix_daily_completion;
                        }

                        public void setMix_daily_completion(float mix_daily_completion) {
                            this.mix_daily_completion = mix_daily_completion;
                        }

                        public float getCost_per() {
                            return cost_per;
                        }

                        public void setCost_per(float cost_per) {
                            this.cost_per = cost_per;
                        }

                        public int getConstruction_times() {
                            return construction_times;
                        }

                        public void setConstruction_times(int construction_times) {
                            this.construction_times = construction_times;
                        }

                        public int getId() {
                            return id;
                        }

                        public void setId(int id) {
                            this.id = id;
                        }

                        public int getBuilding_id() {
                            return building_id;
                        }

                        public void setBuilding_id(int building_id) {
                            this.building_id = building_id;
                        }

                        public int getFacade_id() {
                            return facade_id;
                        }

                        public void setFacade_id(int facade_id) {
                            this.facade_id = facade_id;
                        }

                        public int getHanging_blue_id() {
                            return hanging_blue_id;
                        }

                        public void setHanging_blue_id(int hanging_blue_id) {
                            this.hanging_blue_id = hanging_blue_id;
                        }

                        public int getWorkmanship_id() {
                            return workmanship_id;
                        }

                        public void setWorkmanship_id(int workmanship_id) {
                            this.workmanship_id = workmanship_id;
                        }
                    }
                }
            }
        }
    }

}
